﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WAPA.Framework
{
    public class CalculatePiTaskMessage
    {
        public int NoMillionDigits { get; set; }
        //Identifies a task. Used for later analysis. For simplicity the output blob name is identical to the task ID.
        public string TaskId { get; set; }

        //This value is used when a task has to be picked up by a specific deployment. f.e. if we target a specific region and know a deployment Id in that region.
        public string DeploymentId { get; set; }
        //This instructs the task service were to store the ouput payload.
        public string StorageBlobEndPointUrl { get; set; }
        public string StorageAccountName { get; set; }
        public string StorageAccessKey { get; set; }
        public string OutputContainerName { get; set; }

        public bool Splitted { get; set; }
        public string SplitCommandArguments { get; set; }
        public string SplittedStateBlob { get; set; }

        public int RepeatCount { get; set; }
        public int RepeatInterval {get;set;}//Seconds

        //TODO:Implement splitted exection.
        //These are the commands for splitted execution.
        //./tpi -p /tmp/pi -o /tmp/pi_base10 split 10M 2
        //./tpi -p /tmp/pi -o /tmp/pi_base10 restart /tmp/pi/x-state1
        //./tpi -p /tmp/pi -o /tmp/pi_base10 restart /tmp/pi/x-state2
        //./tpi -p /tmp/pi -o /tmp/pi_base10 restart /tmp/pi/x-stateN1 /tmp/pi/x-stateN2
    }
}
